package org.example.demo.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.example.demo.entity.CultivateLog;

/**
 * 培训记录服务接口
 */
public interface CultivateLogService extends IService<CultivateLog> {

    /**
     * 分页查询培训记录
     *
     * @param cultivateLog 查询条件
     * @param pageNum      页码
     * @param pageSize     每页大小
     * @return 分页结果
     */
    Page<CultivateLog> selectPage(CultivateLog cultivateLog, Integer pageNum, Integer pageSize);

    /**
     * 根据培训类型查询培训记录列表
     *
     * @param cultivateType 培训类型
     * @param pageNum       页码
     * @param pageSize      每页大小
     * @return 分页结果
     */
    Page<CultivateLog> getByCultivateType(Integer cultivateType, Integer pageNum, Integer pageSize);

    /**
     * 根据培训状态查询培训记录列表
     *
     * @param cultivateStatus 培训状态
     * @param pageNum         页码
     * @param pageSize        每页大小
     * @return 分页结果
     */
    Page<CultivateLog> getByCultivateStatus(Integer cultivateStatus, Integer pageNum, Integer pageSize);
}